A form is a document with fields or spaces into which a person can enter data or select a pre-defined data value from a list. Some existing electronic forms, such as those in Portable Document Format (PDF), include so-called live form fields, which are defined data entry fields built into the form. For example, the electronic form may contain live form fields for typing in a first and last name, street address, telephone number, or other types of information that the user enters into the form. The electronic form may additionally or alternatively contain live form fields for selecting, via a user interface (e.g., a drop-down menu), defined data values from a list without having to manually type those values in. Examples of such defined data values include a list of titles (Mr., Ms., Mrs., etc.), states (CA, IL, NY, etc.), and years (2014, 2015, 2016, etc.). Because live form fields are defined within the electronic form, a computer configured to process the form can, using some existing techniques, automatically suggest data that is appropriate for the field. For example, a form with fields for first and last name may be automatically filled with the user's first and last names, which are stored in a database from previous user interactions with forms having similar fields. Automatic form filling reduces the burden on the user to manually enter the same data repeatedly on different forms. However, these existing techniques require the form to contain explicit definitions of each form field so that the computer can suggest appropriate input data based on form field attributes and user information or prior field values. Additionally, some such existing techniques must match the explicit definitions to previous forms or data. Further, cooperation between different form vendors and the application is needed when such forms come from different types of documents or different vendors. Therefore, such existing form filling techniques cannot be used with electronic forms having undefined form fields or where the form field definitions are not consistent between different forms. Thus, there is a need for improved techniques for recognizing the presence of form fields in an electronic form and for populating those form fields with appropriate data.